package com.jprocms.module.cms.api.dto;

import com.jprocms.module.cms.enums.EnumPosition;
import com.jprocms.module.cms.enums.EnumWaterMarkType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author jprocms
 */
@Data
public class SiteConfigWatermarkDto implements Serializable {


    private static final long serialVersionUID = 1L;
    /**
     * 水印设置 1使用图片水印 2使用文字水印 3不使用水印
     * {@link EnumWaterMarkType}
     */
    @Schema(description = "水印设置 1使用图片水印 2使用文字水印 3不使用水印")
    @NotNull(message = "水印设置不能为空")
    @Min(1)
    @Max(3)
    private Integer watermarkSet = 3;
    /**
     * 水印图片资源id
     */
    @Schema(description = "水印图片资源id")
    @Min(1)
    private Long watermarkResourceId;
    /**
     * 水印图片URL
     */
    @Schema(description = "水印图片URL")
    private String watermarkPictureUrl;
    /**
     * 水印位置 1左上 2上 3右上 4左 5中 6右 7左下 8下 9右下
     * {@link EnumPosition}
     */
    @Schema(description = "水印位置 水印位置 1左上 2上 3右上 4左 5中 6右 7左下 8下 9右下")
    @Min(1)
    @Max(9)
    private Integer watermarkPosition;
    /**
     * 水印文案
     */
    @Schema(description = "水印文案")
    private String watermarkTxt;
    /**
     * 水印文案 颜色
     */
    @Schema(description = "水印文案颜色")
    private String watermarkTxtColour;
    /**
     * 水印文案 大小
     */
    @Schema(description = "水印文案大小")
    @Min(value = 1, message = "水印文案大小只能填大于0的整数")
    private Integer watermarkTxtSize;


}
